In relational databases, searches are performed using search queries. Search queries can include any kind of strings. A “JOIN” statement may be used to combine two or more searches of a database. One drawback of such searching is that it cannot be used to search for distributed content, meaning content that is stored in different locations, such as different databases or different database tables having different key fields.
Another known searching method is to perform a search for a specified search string in different databases or tables according to a predefined strategy. Such searches are performed independently, and results thereof may be combined. For instance, when searching for a particular string in a distributed document, a full-text database may be searched. Then, a classification table may be searched, followed by an object link table. The partial search results may then be combined to provide a search result.
FIG. 5 illustrates how searching may be performed using the foregoing method. In system 500, a user enters search queries 501, 502 and 503. Each search query is used by system 500 to perform searches in a different source 402, 404 and 406. Searching in each of sources 402, 404 and 406 produces the following search results: result1 504, result2 505 and result3 506. Search results 504, 505 and 506 are combined as intersection set 507 (e.g., search results 504, 505 and 506 may be logically “ANDed” or “ORed”). Thereafter, a final search result is output. System 500 requires extensive searching because each source is fully searched, i.e., no documents are excluded even if they fail to meet other criteria. Such searching can be relatively processing intensive and, as a result, relatively slow.